home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / libs / anivga12 / example8.pas < prev    next >
Pascal/Delphi Source File  |  1993-07-11  |  3KB  |  76 lines

  1. {$A+,B-,D+,L+,N-,E-,O-,R-,S-,V-,G-,F-,I-,X-}
  2. {$M 16384,0,655360}
  3. PROGRAM Example8;
  4.  
  5. {Demonstrates the several available fading routines: the program waits for}
  6. {the user to press a key (A..Z without Q, ESC=quit), fills the visible    }
  7. {page with a few thousand randomly distributed & colored points and then  }
  8. {fades in the background page again, using the selected method.}
  9. {To end the program, you have to press ESC! }
  10.  
  11. USES ANIVGA,CRT;
  12.  
  13. CONST ch:Char=#0;
  14. VAR i,j:Integer;
  15.  
  16. BEGIN
  17.  
  18.  InitGraph;
  19.  
  20.  FOR i:=15 TO 78 DO
  21.   BEGIN {draw some colors on the screen}
  22.    Color:=i;
  23.    FOR j:=(i-15)*5 TO (i-15)*5+4 DO BackgroundLine(j,0,j,YMAX)
  24.   END;
  25.  BackGroundOutTextXY(90,YMAX SHR 1,'Press a key (A..P,R..Z, ESC=quit)');
  26.  
  27.  Animate; {just to initialize pages, evtl. placed sprites, etc}
  28.  REPEAT   {now for the opening sequence:}
  29.   if keypressed
  30.    THEN BEGIN
  31.          while keypressed do ch:=upcase(readkey);
  32.          if pos(ch,'ABCDEFGHIJKLMNOPRSTUVWXYZ')>0
  33.           THEN BEGIN
  34.                 FillPage(1-PAGE,Black);
  35.                 FOR i:=1 TO 20000 DO
  36.                  BEGIN
  37.                   PutPixel(Random(Succ(XMAX)),Random(Succ(YMAX)),Random(256))
  38.                  END;
  39.                 Delay(1000);
  40.                END;
  41.          case ch of
  42.           'A':FadeIn(BACKGNDPAGE,2000,Fade_Squares);
  43.           'B':FadeIn(BACKGNDPAGE,2000,Fade_Circles);
  44.           'C':FadeIn(BACKGNDPAGE,2000,Fade_Moiree1);
  45.           'D':FadeIn(BACKGNDPAGE,2000,Fade_Moiree2);
  46.           'E':FadeIn(BACKGNDPAGE,2000,Fade_Moiree3);
  47.           'F':FadeIn(BACKGNDPAGE,2000,Fade_Moiree4);
  48.           'G':FadeIn(BACKGNDPAGE,2000,Fade_Moiree5);
  49.           'H':FadeIn(BACKGNDPAGE,2000,Fade_Moiree6);
  50.           'I':FadeIn(BACKGNDPAGE,2000,Fade_Moiree7);
  51.           'J':FadeIn(BACKGNDPAGE,2000,Fade_Moiree8);
  52.           'K':FadeIn(BACKGNDPAGE,2000,Fade_Moiree9);
  53.           'L':FadeIn(BACKGNDPAGE,2000,Fade_Moiree10);
  54.           'M':FadeIn(BACKGNDPAGE,2000,Fade_Moiree11);
  55.           'N':FadeIn(BACKGNDPAGE,2000,Fade_Moiree12);
  56.           'O':FadeIn(BACKGNDPAGE,2000,Fade_Moiree13);
  57.           'P':FadeIn(BACKGNDPAGE,2000,Fade_Moiree14);
  58.           'Q':BEGIN Sound(100); Delay(100); Nosound END;
  59.           'R':FadeIn(BACKGNDPAGE,2000,Fade_SweepInFromLeft);
  60.           'S':FadeIn(BACKGNDPAGE,2000,Fade_SweepInFromRight);
  61.           'T':FadeIn(BACKGNDPAGE,2000,Fade_SweepInFromTop);
  62.           'U':FadeIn(BACKGNDPAGE,2000,Fade_SweepInFromBottom);
  63.           'V':FadeIn(BACKGNDPAGE,2000,Fade_ScrollInFromLeft);
  64.           'W':FadeIn(BACKGNDPAGE,2000,Fade_ScrollInFromRight);
  65.           'X':FadeIn(BACKGNDPAGE,2000,Fade_ScrollInFromTop);
  66.           'Y':FadeIn(BACKGNDPAGE,2000,Fade_ScrollInFromBottom);
  67.           'Z':FadeIn(BACKGNDPAGE,2000,Fade_Moiree15);
  68.          end;
  69.         END;
  70.   {Your normal program would follow here!}
  71.  UNTIL (ch=#27);
  72.  
  73.  CloseRoutines;
  74.  
  75. END.
  76.